package io.github.cocoa.module.socket.dal.dataobject.sample;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.github.cocoa.framework.mybatis.core.type.JsonLongSetTypeHandler;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Set;

/**
 * 示例信息 DO
 *
 * @author James
 */
@TableName(value = "module_socket_sample_info", autoResultMap = true)
@KeySequence("module_socket_sample_info_seq") // 用于 Oracle、PostgreSQL、KingBase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SampleInfoDO {

    /**
     * 示例主键
     */
    @TableId
    private Long id;
    /**
     * 示例名称
     */
    private String name;
    /**
     * 示例编号数组
     */
    @TableField(typeHandler = JsonLongSetTypeHandler.class)
    private Set<Long> sampleIds;
    /**
     * 开启状态
     */
    private Integer status;

}
